In recent years, it has become more and more prevalent for social networks to be used to create profiles of people and/or companies. Along with the rise in social networks has come a corresponding increase in the number of types of searches performed by website visitors on the social network profiles. Additionally, with the rise of mobile devices, it is becoming more and more common for such searches to be performed from mobile devices, sometimes using dedicated applications (apps) on the mobile devices in lieu of web browsers. Mobile devices, however, are often more bandwidth and processing power-limited than traditional non-mobile computing devices. For example, mobile devices may be connected to the Internet via a cellular connection rather than a Wi-Fi-to-broadband connection. While on the cellular connection, connection speeds may be significantly less than a Wi-Fi-to-broadband connection.
There are generally two types of searches performed for member profiles on a social networking service. The first is called “navigational searching”. In navigational searching, the searcher knows a specific element to search and wants to navigate to results containing that specific element as soon as possible. A common example may be a search for a particular member using the member's name. The second type of search is called “exploratory searching”. In exploratory searching, the user wants to discover new elements based on generic queries or filters. A common example may be searching based on geographic region.
Search speed is an important factor for user experience, although that is more true for navigational searching than for exploratory searching, because in navigational searching the searcher knows exactly what he wants and wants the results as soon as possible, whereas exploratory searching tends to be more like browsing.
One technique that is used to improve the user experience when performing a search is known as “type ahead.” In type ahead, a search is begun before the user finishes typing a search query. Typically the type ahead search query is initiated when the user pauses the typing for more than a preset amount of time. For example, a user may start typing a name, and, after three characters of typing, pause. The system may then perform a search for member profiles containing names having those three characters. A search box may then prepopulate the rest of the search query with one or more suggested completions for the rest of the characters of the search, based on the results, or alternatively the search results themselves may be temporarily displayed in a separate area of the user interface while the searcher finishes typing the search query, giving the searcher feedback as to the types of results the search query would return.
Type ahead tends to return results that are not very relevant, especially when dealing with searches that would commonly return a significant number of results, such as the first two characters of a name (as there may be millions of social network members whose names start with the same two characters). Additionally, on a mobile device on a cellular network, type ahead is slow enough to impact the user experience. It may take several seconds, for example, for the type ahead results to be returned from a server, making any feedback the results provide too late to aid a user in determining whether the characters already entered (and the ones the user intends to enter) are likely to return relevant results.